package com.nptever.webcamera.impl.request.base;

import com.nptever.webcamera.impl.request.*;

import javax.xml.bind.annotation.*;

/**
 * @author ZhangKai
 * @version 1.0
 * @decription
 * @date 2018/11/16 17:33
 */
@XmlAccessorType(XmlAccessType.NONE)
public class SOAPBody {

    @XmlAttribute(name = "xmlns:xsi")
    private String xmlns_xsi="http://www.w3.org/2001/XMLSchema-instance";

    @XmlAttribute(name = "xmlns:xsd")
    private String xmlns_xsd="http://www.w3.org/2001/XMLSchema";

    /**
     * 使用继承方式序列化xml 需要按照如下注解方式进行， 否则序列化结果只会包含父类节点信息，会丢失层次信息
     */
    @XmlElements({
            @XmlElement(name = "GetServices", type = GetSoapMediaServiceAddressBody.class),
            @XmlElement(name = "GetProfiles", type = GetRtsMediaProfilesBody.class),
            @XmlElement(name = "GetVideoEncoderConfigurationOptions", type = GetVideoEncoderConfigurationOptionsBody.class),
            @XmlElement(name = "SetVideoEncoderConfiguration", type = SetVideoEncoderConfigurationBody.class),
            @XmlElement(name = "GetStreamUri", type = GetStreamUriBody.class),
            @XmlElement(name = "tptz:RelativeMove", type = GetRelativeMoveBody.class),
            @XmlElement(name = "tptz:Stop", type = GetPTZStopBody.class),
    })
    private GetServices getServices;

    public void setGetServices(GetServices getServices) {
        this.getServices = getServices;
    }
}
